package com.offcn.order.pojo;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;

import java.io.Serializable;
import java.math.BigDecimal;
import java.util.Date;

/**
 * 订单
 *
 * @Author:ujiuye
 * @Description:Order构建
 * @Date 2021/2/1 14:19
 * ***@author 秋林
 */
@ApiModel(description = "Order",value = "Order")
@TableName(value="tb_order")
public class Order implements Serializable{

	/**
	 * 订单id
	 */
	@ApiModelProperty(value = "订单id",required = false)
    @TableId(type = IdType.INPUT)
	@TableField(value = "order_id")
	private Long orderId;

	/**
	 * 实付金额。精确到2位小数;单位:元。如:200.07，表示:200元7分
	 */
	@ApiModelProperty(value = "实付金额。精确到2位小数;单位:元。如:200.07，表示:200元7分",required = false)
    @TableField(value = "payment")
	private BigDecimal payment;

	/**
	 * 支付类型，1、在线支付，2、货到付款
	 */
	@ApiModelProperty(value = "支付类型，1、在线支付，2、货到付款",required = false)
    @TableField(value = "payment_type")
	private String paymentType;

	/**
	 * 邮费。精确到2位小数;单位:元。如:200.07，表示:200元7分
	 */
	@ApiModelProperty(value = "邮费。精确到2位小数;单位:元。如:200.07，表示:200元7分",required = false)
    @TableField(value = "post_fee")
	private String postFee;

	/**
	 * 状态：1、未付款，2、已付款，3、未发货，4、已发货，5、交易成功，6、交易关闭,7、待评价
	 */
	@ApiModelProperty(value = "状态：1、未付款，2、已付款，3、未发货，4、已发货，5、交易成功，6、交易关闭,7、待评价",required = false)
    @TableField(value = "status")
	private String status;

	/**订单创建时间
	 *
	 */
	@ApiModelProperty(value = "订单创建时间",required = false)
    @TableField(value = "create_time")
	private Date createTime;

	/**
	 * 订单更新时间
	 */
	@ApiModelProperty(value = "订单更新时间",required = false)
    @TableField(value = "update_time")
	private Date updateTime;

	/**
	 * 付款时间
	 */
	@ApiModelProperty(value = "付款时间",required = false)
    @TableField(value = "payment_time")
	private Date paymentTime;

	/**
	 * 发货时间
	 */
	@ApiModelProperty(value = "发货时间",required = false)
    @TableField(value = "consign_time")
	private Date consignTime;

	/**
	 * 交易完成时间
	 */
	@ApiModelProperty(value = "交易完成时间",required = false)
    @TableField(value = "end_time")
	private Date endTime;

	/**
	 * 交易关闭时间
	 */
	@ApiModelProperty(value = "交易关闭时间",required = false)
    @TableField(value = "close_time")
	private Date closeTime;

	/**
	 * 物流名称
	 */
	@ApiModelProperty(value = "物流名称",required = false)
    @TableField(value = "shipping_name")
	private String shippingName;

	/**
	 * 物流单号
	 *
	 */
	@ApiModelProperty(value = "物流单号",required = false)
    @TableField(value = "shipping_code")
	private String shippingCode;

	/**
	 * 用户id
	 *
	 */
	@ApiModelProperty(value = "用户id",required = false)
    @TableField(value = "user_id")
	private String userId;

	/**
	 * 买家留言
	 */
	@ApiModelProperty(value = "买家留言",required = false)
    @TableField(value = "buyer_message")
	private String buyerMessage;

	/**
	 * 买家昵称
	 */
	@ApiModelProperty(value = "买家昵称",required = false)
    @TableField(value = "buyer_nick")
	private String buyerNick;

	/**
	 * 买家是否已经评价
	 */
	@ApiModelProperty(value = "买家是否已经评价",required = false)
    @TableField(value = "buyer_rate")
	private String buyerRate;

	/**
	 * 收货人地区名称(省，市，县)街道
	 */
	@ApiModelProperty(value = "收货人地区名称(省，市，县)街道",required = false)
    @TableField(value = "receiver_area_name")
	private String receiverAreaName;

	/**
	 * 收货人手机
	 *
	 */
	@ApiModelProperty(value = "收货人手机",required = false)
    @TableField(value = "receiver_mobile")
	private String receiverMobile;

	/**
	 * 收货人邮编
	 */
	@ApiModelProperty(value = "收货人邮编",required = false)
    @TableField(value = "receiver_zip_code")
	private String receiverZipCode;

	/**
	 * 收货人
	 *
	 */
	@ApiModelProperty(value = "收货人",required = false)
    @TableField(value = "receiver")
	private String receiver;

	/**
	 * 过期时间，定期清理
	 */
	@ApiModelProperty(value = "过期时间，定期清理",required = false)
    @TableField(value = "expire")
	private Date expire;

	/**
	 * 发票类型(普通发票，电子发票，增值税发票)
	 */
	@ApiModelProperty(value = "发票类型(普通发票，电子发票，增值税发票)",required = false)
    @TableField(value = "invoice_type")
	private String invoiceType;

	/**
	 * 订单来源：1:app端，2：pc端，3：M端，4：微信端，5：手机qq端
	 *
	 */
	@ApiModelProperty(value = "订单来源：1:app端，2：pc端，3：M端，4：微信端，5：手机qq端",required = false)
    @TableField(value = "source_type")
	private String sourceType;

	/**
	 * 商家ID
	 */
	@ApiModelProperty(value = "商家ID",required = false)
    @TableField(value = "seller_id")
	private String sellerId;




	public Long getOrderId() {	//get方法
		return orderId;
	}


	public void setOrderId(Long orderId) {	//set方法
		this.orderId = orderId;
	}

	public BigDecimal getPayment() {	//get方法
		return payment;
	}


	public void setPayment(BigDecimal payment) {	//set方法
		this.payment = payment;
	}

	public String getPaymentType() {	//get方法
		return paymentType;
	}


	public void setPaymentType(String paymentType) {	//set方法
		this.paymentType = paymentType;
	}

	public String getPostFee() {	//get方法
		return postFee;
	}


	public void setPostFee(String postFee) {	//set方法
		this.postFee = postFee;
	}

	public String getStatus() {	//get方法
		return status;
	}


	public void setStatus(String status) {	//set方法
		this.status = status;
	}

	public Date getCreateTime() {	//get方法
		return createTime;
	}


	public void setCreateTime(Date createTime) {	//set方法
		this.createTime = createTime;
	}

	public Date getUpdateTime() {	//get方法
		return updateTime;
	}


	public void setUpdateTime(Date updateTime) {	//set方法
		this.updateTime = updateTime;
	}

	public Date getPaymentTime() {	//get方法
		return paymentTime;
	}


	public void setPaymentTime(Date paymentTime) {	//set方法
		this.paymentTime = paymentTime;
	}

	public Date getConsignTime() {	//get方法
		return consignTime;
	}


	public void setConsignTime(Date consignTime) {	//set方法
		this.consignTime = consignTime;
	}

	public Date getEndTime() {	//get方法
		return endTime;
	}


	public void setEndTime(Date endTime) {	//set方法
		this.endTime = endTime;
	}

	public Date getCloseTime() {	//get方法
		return closeTime;
	}


	public void setCloseTime(Date closeTime) {	//set方法
		this.closeTime = closeTime;
	}

	public String getShippingName() {	//get方法
		return shippingName;
	}


	public void setShippingName(String shippingName) {	//set方法
		this.shippingName = shippingName;
	}

	public String getShippingCode() {	//get方法
		return shippingCode;
	}


	public void setShippingCode(String shippingCode) {	//set方法
		this.shippingCode = shippingCode;
	}

	public String getUserId() {	//get方法
		return userId;
	}


	public void setUserId(String userId) {	//set方法
		this.userId = userId;
	}

	public String getBuyerMessage() {	//get方法
		return buyerMessage;
	}


	public void setBuyerMessage(String buyerMessage) {	//set方法
		this.buyerMessage = buyerMessage;
	}

	public String getBuyerNick() {	//get方法
		return buyerNick;
	}


	public void setBuyerNick(String buyerNick) {	//set方法
		this.buyerNick = buyerNick;
	}

	public String getBuyerRate() {	//get方法
		return buyerRate;
	}


	public void setBuyerRate(String buyerRate) {	//set方法
		this.buyerRate = buyerRate;
	}

	public String getReceiverAreaName() {	//get方法
		return receiverAreaName;
	}


	public void setReceiverAreaName(String receiverAreaName) {	//set方法
		this.receiverAreaName = receiverAreaName;
	}

	public String getReceiverMobile() {	//get方法
		return receiverMobile;
	}


	public void setReceiverMobile(String receiverMobile) {	//set方法
		this.receiverMobile = receiverMobile;
	}

	public String getReceiverZipCode() {	//get方法
		return receiverZipCode;
	}


	public void setReceiverZipCode(String receiverZipCode) {	//set方法
		this.receiverZipCode = receiverZipCode;
	}

	public String getReceiver() {	//get方法
		return receiver;
	}


	public void setReceiver(String receiver) {	//set方法
		this.receiver = receiver;
	}

	public Date getExpire() {	//get方法
		return expire;
	}


	public void setExpire(Date expire) {	//set方法
		this.expire = expire;
	}

	public String getInvoiceType() {	//get方法
		return invoiceType;
	}


	public void setInvoiceType(String invoiceType) {	//set方法
		this.invoiceType = invoiceType;
	}

	public String getSourceType() {	//get方法
		return sourceType;
	}


	public void setSourceType(String sourceType) {	//set方法
		this.sourceType = sourceType;
	}

	public String getSellerId() {	//get方法
		return sellerId;
	}


	public void setSellerId(String sellerId) {	//set方法
		this.sellerId = sellerId;
	}


}
